package com.yixiu.javabase.modules.keyword._IntegerCache;

/**
 * 注意：所有的相同类型的包装类对象之间值的比较，全部使用 equals 方法比较。
 * 比如比较两个Integer对象的值，就使用equals来比较。
 * 参考： *
 * Integer的IntegerCache https://www.jianshu.com/p/b0274de4320e
 *
 */
public class IntegerCompare {

    public static void main(String[] args) {
        // 使用数字直接赋值，调用的是Integer.valueOf方法，该方法判断，当值在[low,high]之间时，返回cache对象，否则返回新的Integer对象
        Integer integer1 = 3;
        Integer integer2 = Integer.valueOf(3);
        // == 比较对象的地址和内容是否相同。
        if (integer1 == integer2)
            System.out.println("integer1 == integer2");
        else
            System.out.println("integer1 != integer2");
        Integer integer3 = 300;
        Integer integer4 = 300;
        if (integer3 == integer4)
            System.out.println("integer3 == integer4");
        else
            System.out.println("integer3 != integer4");

    }

}
